diff --new-file --recursive --unified satan-1.1.1.clean/Makefile satan-1.1.1.linux/Makefile
--- satan-1.1.1.clean/Makefile	Sun Apr  9 03:25:06 1995
+++ satan-1.1.1.linux/Makefile	Tue Apr 11 22:39:52 1995
@@ -23,12 +23,7 @@
 
 linux:
 	@echo The LINUX rules are untested and may be wrong
-	@set +e; test -f include/netinet/ip.h || {\
-		echo Please copy the 44BSD /usr/include/netinet include files; \
-		echo files to `pwd`/include/netinet and try again.;\
-		exit 1; \
-	}
-	@$(MAKE) all LIBS= XFLAGS="-I`pwd`/include -DAUTH_GID_T=int"
+	@$(MAKE) all LIBS= XFLAGS="-DAUTH_GID_T=gid_t"
 
 irix4:
 	@$(MAKE) all LIBS="-lXm_s -lXt_s -lX11_s -lPW -lc_s -lsun" \
diff --new-file --recursive --unified satan-1.1.1.clean/bin/boot.satan satan-1.1.1.linux/bin/boot.satan
--- satan-1.1.1.clean/bin/boot.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/boot.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 #  Execute a bootparam WHOAMI request and report the results.
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/dns.satan satan-1.1.1.linux/bin/dns.satan
--- satan-1.1.1.clean/bin/dns.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/dns.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 #  information gatherer for dns -- uses NSLOOKUP, so you're hosed
 # unless you have that...
diff --new-file --recursive --unified satan-1.1.1.clean/bin/faux_fping satan-1.1.1.linux/bin/faux_fping
--- satan-1.1.1.clean/bin/faux_fping	Tue Apr 11 03:50:53 1995
+++ satan-1.1.1.linux/bin/faux_fping	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # fping replacement that skips unresolvable hosts.
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/finger.satan satan-1.1.1.linux/bin/finger.satan
--- satan-1.1.1.clean/bin/finger.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/finger.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # version 2, Mon Mar 20 21:30:24 1995, last mod by wietse
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/ftp.satan satan-1.1.1.linux/bin/ftp.satan
--- satan-1.1.1.clean/bin/ftp.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/ftp.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 
 # See if the target provides anonymous ftp, non-intrusive.
 
diff --new-file --recursive --unified satan-1.1.1.clean/bin/get_targets satan-1.1.1.linux/bin/get_targets
--- satan-1.1.1.clean/bin/get_targets	Tue Apr 11 03:50:53 1995
+++ satan-1.1.1.linux/bin/get_targets	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # Scan a subnet for live hosts
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/nfs-chk.satan satan-1.1.1.linux/bin/nfs-chk.satan
--- satan-1.1.1.clean/bin/nfs-chk.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/nfs-chk.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # Report file systems that are exported via portmap or that can be mounted
 # by unpriviliged programs. World-mountable file systems are already taken
diff --new-file --recursive --unified satan-1.1.1.clean/bin/rpc.satan satan-1.1.1.linux/bin/rpc.satan
--- satan-1.1.1.clean/bin/rpc.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/rpc.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 #  Does an "rpcinfo -p" on a machine, tries to determine anything interesting
 # running there.
diff --new-file --recursive --unified satan-1.1.1.clean/bin/rusers.satan satan-1.1.1.linux/bin/rusers.satan
--- satan-1.1.1.clean/bin/rusers.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/rusers.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # version 1, Mon Mar 20 18:49:25 1995, last mod by wietse
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/showmount.satan satan-1.1.1.linux/bin/showmount.satan
--- satan-1.1.1.clean/bin/showmount.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/showmount.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # Find out some stuff about NFS using showmount: world-wide exports,
 # boot clients.  Should not bother to do this when rpc.rip fails.
diff --new-file --recursive --unified satan-1.1.1.clean/bin/tcpscan.satan satan-1.1.1.linux/bin/tcpscan.satan
--- satan-1.1.1.clean/bin/tcpscan.satan	Tue Apr 11 03:50:54 1995
+++ satan-1.1.1.linux/bin/tcpscan.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # version 1, Mon Mar 20 18:44:32 1995, last mod by wietse
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/udpscan.satan satan-1.1.1.linux/bin/udpscan.satan
--- satan-1.1.1.clean/bin/udpscan.satan	Tue Apr 11 03:50:55 1995
+++ satan-1.1.1.linux/bin/udpscan.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # version 1, Mon Mar 20 18:46:18 1995, last mod by wietse
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/xhost.satan satan-1.1.1.linux/bin/xhost.satan
--- satan-1.1.1.clean/bin/xhost.satan	Tue Apr 11 03:50:55 1995
+++ satan-1.1.1.linux/bin/xhost.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 #  Query the target's X display and report whether or not it is vulnerable
 # to simple X attacks (keystroke grabbing, etc.)
diff --new-file --recursive --unified satan-1.1.1.clean/bin/yp-chk.satan satan-1.1.1.linux/bin/yp-chk.satan
--- satan-1.1.1.clean/bin/yp-chk.satan	Tue Apr 11 03:50:55 1995
+++ satan-1.1.1.linux/bin/yp-chk.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # Query the NIS server.
 #
diff --new-file --recursive --unified satan-1.1.1.clean/bin/ypbind.satan satan-1.1.1.linux/bin/ypbind.satan
--- satan-1.1.1.clean/bin/ypbind.satan	Tue Apr 11 03:50:55 1995
+++ satan-1.1.1.linux/bin/ypbind.satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 
 # Try to identify a host's NIS domain name and NIS server by trying out a
 # series of NIS domain name guesses. When the number of guesses becomes
diff --new-file --recursive --unified satan-1.1.1.clean/config/paths.pl satan-1.1.1.linux/config/paths.pl
--- satan-1.1.1.clean/config/paths.pl	Tue Apr 11 03:50:56 1995
+++ satan-1.1.1.linux/config/paths.pl	Tue Apr 11 22:32:05 1995
@@ -1,13 +1,13 @@
-$FINGER="/usr/ucb/finger";
-$FTP="/usr/ucb/ftp";
-$RPCINFO="/usr/etc/rpcinfo";
-$RUSERS="/usr/ucb/rusers";
-$SHOWMOUNT="/usr/etc/showmount";
-$YPWHICH="/bin/ypwhich";
-$NSLOOKUP="/usr/etc/nslookup";
+$FINGER="/usr/bin/finger";
+$FTP="/bin/ftp";
+$RPCINFO="/usr/sbin/rpcinfo";
+$RUSERS="/usr/bin/rusers";
+$SHOWMOUNT="/usr/sbin/showmount";
+$YPWHICH="/usr/bin/ypwhich";
+$NSLOOKUP="/usr/bin/nslookup";
 $XHOST="/usr/bin/X11/xhost";
-$PING="/usr/etc/ping";
-$MOSAIC="/usr/exp/bin/netscape";
+$PING="/bin/ping";
+$MOSAIC="/usr/local/X11/bin/netscape";
 
 $TCP_SCAN="bin/tcp_scan";
 $UDP_SCAN="bin/udp_scan";
diff --new-file --recursive --unified satan-1.1.1.clean/config/paths.pl.old satan-1.1.1.linux/config/paths.pl.old
--- satan-1.1.1.clean/config/paths.pl.old	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/config/paths.pl.old	Tue Apr 11 03:50:56 1995
@@ -0,0 +1,27 @@
+$FINGER="/usr/ucb/finger";
+$FTP="/usr/ucb/ftp";
+$RPCINFO="/usr/etc/rpcinfo";
+$RUSERS="/usr/ucb/rusers";
+$SHOWMOUNT="/usr/etc/showmount";
+$YPWHICH="/bin/ypwhich";
+$NSLOOKUP="/usr/etc/nslookup";
+$XHOST="/usr/bin/X11/xhost";
+$PING="/usr/etc/ping";
+$MOSAIC="/usr/exp/bin/netscape";
+
+$TCP_SCAN="bin/tcp_scan";
+$UDP_SCAN="bin/udp_scan";
+$FPING="bin/fping";
+$NFS_CHK="bin/nfs-chk";
+$YP_CHK="bin/yp-chk";
+$SAFE_FINGER="bin/safe_finger";
+$MD5="bin/md5";
+$SYS_SOCKET="bin/sys_socket";
+$BOOT="bin/boot";
+$GET_TARGETS="bin/get_targets";
+$TIMEOUT="bin/timeout";
+
+$SATAN_CF="config/satan.cf";
+$SERVICES="config/services";
+
+
diff --new-file --recursive --unified satan-1.1.1.clean/config/paths.sh satan-1.1.1.linux/config/paths.sh
--- satan-1.1.1.clean/config/paths.sh	Tue Apr 11 03:50:56 1995
+++ satan-1.1.1.linux/config/paths.sh	Tue Apr 11 22:32:06 1995
@@ -1,14 +1,14 @@
-BASENAME=/bin/basename
+BASENAME=/usr/bin/basename
 CAT=/bin/cat
 ECHO=/bin/echo
-FILE=/bin/file
+FILE=/usr/bin/file
 RM=/bin/rm
 RSH=/usr/ucb/rsh
-SED=/bin/sed
+SED=/usr/bin/sed
 SU=/bin/su
-TEST=/bin/test
-TFTP=/usr/ucb/tftp
-WHOAMI=/usr/ucb/whoami
-GREP=/bin/grep
+TEST=/usr/bin/test
+TFTP=/usr/bin/tftp
+WHOAMI=/usr/bin/whoami
+GREP=/usr/bin/grep
 REX=bin/rex
 RCMD=bin/rcmd
diff --new-file --recursive --unified satan-1.1.1.clean/config/paths.sh.old satan-1.1.1.linux/config/paths.sh.old
--- satan-1.1.1.clean/config/paths.sh.old	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/config/paths.sh.old	Tue Apr 11 03:50:56 1995
@@ -0,0 +1,14 @@
+BASENAME=/bin/basename
+CAT=/bin/cat
+ECHO=/bin/echo
+FILE=/bin/file
+RM=/bin/rm
+RSH=/usr/ucb/rsh
+SED=/bin/sed
+SU=/bin/su
+TEST=/bin/test
+TFTP=/usr/ucb/tftp
+WHOAMI=/usr/ucb/whoami
+GREP=/bin/grep
+REX=bin/rex
+RCMD=bin/rcmd
diff --new-file --recursive --unified satan-1.1.1.clean/include/lcompat.h satan-1.1.1.linux/include/lcompat.h
--- satan-1.1.1.clean/include/lcompat.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/lcompat.h	Tue Apr 11 22:37:20 1995
@@ -0,0 +1,78 @@
+struct ip {
+#if defined(__i386__)
+	u_char	ip_hl:4,
+		ip_v:4;
+#else
+#error Please modify lcompat.h to support your CPU.
+#endif
+	u_char	ip_tos;
+	short	ip_len;
+	u_short	ip_id;
+	short	ip_off;
+#define	IP_DF 0x4000
+#define	IP_MF 0x2000
+#define	IP_OFFMASK 0x1fff
+	u_char	ip_ttl;
+	u_char	ip_p;
+	u_short	ip_sum;
+	struct	in_addr ip_src,ip_dst;
+};
+
+#define ICMP_MINLEN			8
+#define ICMP_UNREACH			3
+#define ICMP_UNREACH_NET		0
+#define ICMP_UNREACH_PROTOCOL		2
+#define ICMP_UNREACH_PORT		3
+#define ICMP_UNREACH_HOST		1
+
+struct icmp {
+	u_char	icmp_type;
+	u_char	icmp_code;
+	u_short	icmp_cksum;
+	union {
+		u_char ih_pptr;
+		struct in_addr ih_gwaddr;
+		struct ih_idseq {
+			n_short	icd_id;
+			n_short	icd_seq;
+		} ih_idseq;
+		int ih_void;
+
+		struct ih_pmtu {
+			n_short ipm_void;    
+			n_short ipm_nextmtu;
+		} ih_pmtu;
+	} icmp_hun;
+#define	icmp_pptr	icmp_hun.ih_pptr
+#define	icmp_gwaddr	icmp_hun.ih_gwaddr
+#define	icmp_id		icmp_hun.ih_idseq.icd_id
+#define	icmp_seq	icmp_hun.ih_idseq.icd_seq
+#define	icmp_void	icmp_hun.ih_void
+#define	icmp_pmvoid	icmp_hun.ih_pmtu.ipm_void
+#define	icmp_nextmtu	icmp_hun.ih_pmtu.ipm_nextmtu
+	union {
+		struct id_ts {
+			n_time its_otime;
+			n_time its_rtime;
+			n_time its_ttime;
+		} id_ts;
+		struct id_ip  {
+			struct ip idi_ip;
+		} id_ip;
+		u_long	id_mask;
+		char	id_data[1];
+	} icmp_dun;
+#define	icmp_otime	icmp_dun.id_ts.its_otime
+#define	icmp_rtime	icmp_dun.id_ts.its_rtime
+#define	icmp_ttime	icmp_dun.id_ts.its_ttime
+#define	icmp_ip		icmp_dun.id_ip.idi_ip
+#define	icmp_mask	icmp_dun.id_mask
+#define	icmp_data	icmp_dun.id_data
+};
+
+struct bsd_udphdr {
+	u_short	uh_sport;
+	u_short	uh_dport;
+	short	uh_ulen;
+	u_short	uh_sum;
+};
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/igmp.h satan-1.1.1.linux/include/netinet/igmp.h
--- satan-1.1.1.clean/include/netinet/igmp.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/igmp.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1,24 @@
+/*
+ *	There is more to this for better BSD compatibility than we do, but
+ *	its the start!
+ *
+ *	The constants etc are from smilie@poodle.mpx.com.au (Anthony Rumble)
+ */
+
+#ifndef _NETINET_IGMP_H
+#define _NETINET_IGMP_H
+#include <linux/igmp.h>
+
+struct igmp {
+        unsigned char  igmp_type;      /* version & type of IGMP message  */
+        unsigned char  igmp_code;      /* unused, should be zero          */
+        unsigned short igmp_cksum;     /* IP-style checksum               */
+        struct in_addr igmp_group;     /* group address being reported    */
+};                                     /*  (zero for queries)             */
+
+#define IGMP_MINLEN                  8
+
+#define IGMP_DVMRP                     0x13    /* for experimental multicast */+                                               /*  routing protocol */
+#define IGMP_MAX_HOST_REPORT_DELAY     10      /* max delay for response to */
+                                               /*  query (in seconds) */
+#endif 
\ No newline at end of file
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/in.h satan-1.1.1.linux/include/netinet/in.h
--- satan-1.1.1.clean/include/netinet/in.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/in.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1,88 @@
+/* Copyright (C) 1991 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 1, or (at your option)
+any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the GNU C Library; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef	_NETINET_IN_H
+
+#define	_NETINET_IN_H	1
+#include <features.h>
+
+#include <sys/socket.h>
+
+__BEGIN_DECLS
+
+/* Standard well-known ports.  */
+enum
+  {
+    IPPORT_ECHO = 7,		/* Echo service.  */
+    IPPORT_DISCARD = 9,		/* Discard transmissions service.  */
+    IPPORT_SYSTAT = 11,		/* System status service.  */
+    IPPORT_DAYTIME = 13,	/* Time of day service.  */
+    IPPORT_NETSTAT = 15,	/* Network status service.  */
+    IPPORT_FTP = 21,		/* File Transfer Protocol.  */
+    IPPORT_TELNET = 23,		/* Telnet protocol.  */
+    IPPORT_SMTP = 25,		/* Simple Mail Transfer Protocol.  */
+    IPPORT_TIMESERVER = 37,	/* Timeserver service.  */
+    IPPORT_NAMESERVER = 42,	/* Domain Name Service.  */
+    IPPROT_WHOIS = 43,		/* Internet Whois service.  */
+    IPPORT_MTP = 57,
+
+    IPPORT_TFTP = 69,		/* Trivial File Transfer Protocol.  */
+    IPPORT_RJE = 77,
+    IPPORT_FINGER = 79,		/* Finger service.  */
+    IPPORT_TTYLINK = 87,
+    IPPORT_SUPDUP = 95,		/* SUPDUP protocol.  */
+
+
+    IPPORT_EXECSERVER = 512,	/* execd service.  */
+    IPPORT_LOGINSERVER = 513,	/* rlogind service.  */
+    IPPORT_CMDSERVER = 514,
+    IPPORT_EFSSERVER = 520,
+
+    /* UDP ports.  */
+    IPPORT_BIFFUDP = 512,
+    IPPORT_WHOSERVER = 513,
+    IPPORT_ROUTESERVER = 520,
+
+    /* Ports less than this value are reserved for privileged processes.  */
+    IPPORT_RESERVED = 1024,
+
+    /* Ports greater this value are reserved for (non-privileged) servers.  */
+    IPPORT_USERRESERVED = 5000
+  };
+
+
+/* Link numbers.  */
+#define	IMPLINK_IP		155
+#define	IMPLINK_LOWEXPER	156
+#define	IMPLINK_HIGHEXPER	158
+
+
+/*
+ * Many other definitions have been moved to <linux/in.h>,
+ * because several parts of the kernel need them. -FvK
+ */
+#include <linux/in.h>
+
+/*
+ * Bind a socket to a privileged IP port
+ */
+extern int bindresvport __P ((int __sockfd,
+		struct sockaddr_in * __sin));
+
+__END_DECLS
+
+#endif	/* netinet/in.h */
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/in_system.h satan-1.1.1.linux/include/netinet/in_system.h
--- satan-1.1.1.clean/include/netinet/in_system.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/in_system.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/in_systm.h>
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/in_systm.h satan-1.1.1.linux/include/netinet/in_systm.h
--- satan-1.1.1.clean/include/netinet/in_systm.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/in_systm.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/in_systm.h>
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/ip.h satan-1.1.1.linux/include/netinet/ip.h
--- satan-1.1.1.clean/include/netinet/ip.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/ip.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/ip.h>
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/ip_fw.h satan-1.1.1.linux/include/netinet/ip_fw.h
--- satan-1.1.1.clean/include/netinet/ip_fw.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/ip_fw.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/ip_fw.h>
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/ip_icmp.h satan-1.1.1.linux/include/netinet/ip_icmp.h
--- satan-1.1.1.clean/include/netinet/ip_icmp.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/ip_icmp.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/icmp.h>
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/ip_tcp.h satan-1.1.1.linux/include/netinet/ip_tcp.h
--- satan-1.1.1.clean/include/netinet/ip_tcp.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/ip_tcp.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 1982, 1986 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *	@(#)tcp.h	7.5 (Berkeley) 6/29/88
+ */
+
+#ifndef _NETINET_IP_TCP_H
+#define _NETINET_IP_TCP_H
+
+#include <endian.h>
+#include <linux/socket.h>
+
+typedef	u_long	tcp_seq;
+/*
+ * TCP header.
+ * Per RFC 793, September, 1981.
+ */
+struct tcphdr {
+	u_short	th_sport;		/* source port */
+	u_short	th_dport;		/* destination port */
+	tcp_seq	th_seq;			/* sequence number */
+	tcp_seq	th_ack;			/* acknowledgement number */
+#if __BYTE_ORDER == __LITTLE_ENDIAN 
+	u_char	th_x2:4,		/* (unused) */
+		th_off:4;		/* data offset */
+#endif
+#if __BYTE_ORDER == __BIG_ENDIAN 
+	u_char	th_off:4,		/* data offset */
+		th_x2:4;		/* (unused) */
+#endif
+	u_char	th_flags;
+#define	TH_FIN	0x01
+#define	TH_SYN	0x02
+#define	TH_RST	0x04
+#define	TH_PUSH	0x08
+#define	TH_ACK	0x10
+#define	TH_URG	0x20
+	u_short	th_win;			/* window */
+	u_short	th_sum;			/* checksum */
+	u_short	th_urp;			/* urgent pointer */
+};
+
+#define	TCPOPT_EOL	0
+#define	TCPOPT_NOP	1
+#define	TCPOPT_MAXSEG	2
+
+/*
+ * Default maximum segment size for TCP.
+ * With an IP MSS of 576, this is 536,
+ * but 512 is probably more convenient.
+ */
+#ifdef	lint
+#define	TCP_MSS	536
+#else
+#define	TCP_MSS	MIN(512, IP_MSS - sizeof (struct tcpiphdr))
+#endif
+
+#endif /* _NETINET_TCP_H */
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/ip_udp.h satan-1.1.1.linux/include/netinet/ip_udp.h
--- satan-1.1.1.clean/include/netinet/ip_udp.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/ip_udp.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/udp.h>
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/protocols.h satan-1.1.1.linux/include/netinet/protocols.h
--- satan-1.1.1.clean/include/netinet/protocols.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/protocols.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1,62 @@
+/* protocols.h */
+#ifndef _NETINET_PROTOCOLS_H
+#define _NETINET_PROTOCOLS_H
+
+#define IP_ICMP		  1
+#define IP_IGMP		  2
+#define IP_GGP 		  3
+#define IP_ST  		  5
+#define IP_TCP 		  6
+#define IP_UCL 		  7
+#define IP_EGP 		  8
+#define IP_IGP 		  9
+#define IP_BBN_RCC_MON	 10
+#define IP_NVP_II	 11
+#define IP_PUP		 12
+#define IP_ARGUS	 13
+#define IP_EMCON	 14
+#define IP_XNET		 15
+#define IP_CHAOS	 16
+#define IP_UDP		 17
+#define IP_MUX		 18
+#define IP_DCN_MEAS	 19
+#define IP_HMP		 20
+#define IP_PRM		 21
+#define IP_XNS_IDP	 22
+#define IP_TRUNK1	 23
+#define IP_TRUNK2	 24
+#define IP_LEAF1	 25
+#define IP_LEAF2	 26
+#define IP_RDP		 27
+#define IP_IRTP		 28
+#define IP_ISO_TP4	 29
+#define IP_NETBLT	 30
+#define IP_MFE_NSP	 31
+#define IP_MERIT_INP	 32
+#define IP_SEP		 33
+#define IP_3PC		 34
+#define IP_CFTP		 62
+#define SAT_EXPAK	 64
+#define IP_RVD		 66
+#define IP_IPPC		 67
+#define IP_SAT_MON	 69
+#define IP_VISA		 70
+#define IP_IPCV		 71
+#define IP_BR_SAT_MON	 76
+#define IP_SUN_ND	 77
+#define IP_WB_MON	 78
+#define IP_WB_EXPAK	 79
+#define IP_ISO_IP	 80
+#define IP_VMTP		 81
+#define IP_SECURE_VMTP	 82
+#define IP_VINES	 83
+#define IP_TTP		 84
+#define NSFNET_IGP	 85
+#define IP_DGP		 86
+#define IP_TCF		 87
+#define IP_IGRP		 88
+#define IP_OSPFIGP	 89
+#define IP_SPRITE_RPG	 90
+#define IP_LARP		 91
+
+#endif /*  _NETINET_PROTOCOLS_H*/
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/tcp.h satan-1.1.1.linux/include/netinet/tcp.h
--- satan-1.1.1.clean/include/netinet/tcp.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/tcp.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 1982, 1986 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *	@(#)tcp.h	7.5 (Berkeley) 6/29/88
+ */
+
+#ifndef _NETINET_IP_TCP_H
+#define _NETINET_IP_TCP_H
+
+#include <endian.h>
+#include <linux/socket.h>
+
+typedef	u_long	tcp_seq;
+/*
+ * TCP header.
+ * Per RFC 793, September, 1981.
+ */
+struct tcphdr {
+	u_short	th_sport;		/* source port */
+	u_short	th_dport;		/* destination port */
+	tcp_seq	th_seq;			/* sequence number */
+	tcp_seq	th_ack;			/* acknowledgement number */
+#if __BYTE_ORDER == __LITTLE_ENDIAN 
+	u_char	th_x2:4,		/* (unused) */
+		th_off:4;		/* data offset */
+#endif
+#if __BYTE_ORDER == __BIG_ENDIAN 
+	u_char	th_off:4,		/* data offset */
+		th_x2:4;		/* (unused) */
+#endif
+	u_char	th_flags;
+#define	TH_FIN	0x01
+#define	TH_SYN	0x02
+#define	TH_RST	0x04
+#define	TH_PUSH	0x08
+#define	TH_ACK	0x10
+#define	TH_URG	0x20
+	u_short	th_win;			/* window */
+	u_short	th_sum;			/* checksum */
+	u_short	th_urp;			/* urgent pointer */
+};
+
+#define	TCPOPT_EOL	0
+#define	TCPOPT_NOP	1
+#define	TCPOPT_MAXSEG	2
+
+/*
+ * Default maximum segment size for TCP.
+ * With an IP MSS of 576, this is 536,
+ * but 512 is probably more convenient.
+ */
+#ifdef	lint
+#define	TCP_MSS	536
+#else
+#define	TCP_MSS	MIN(512, IP_MSS - sizeof (struct tcpiphdr))
+#endif
+
+#endif /* _NETINET_TCP_H */
diff --new-file --recursive --unified satan-1.1.1.clean/include/netinet/udp.h satan-1.1.1.linux/include/netinet/udp.h
--- satan-1.1.1.clean/include/netinet/udp.h	Wed Dec 31 16:00:00 1969
+++ satan-1.1.1.linux/include/netinet/udp.h	Tue Apr 11 22:32:44 1995
@@ -0,0 +1 @@
+#include <linux/udp.h>
diff --new-file --recursive --unified satan-1.1.1.clean/perl/html.pl satan-1.1.1.linux/perl/html.pl
--- satan-1.1.1.clean/perl/html.pl	Tue Apr 11 08:33:26 1995
+++ satan-1.1.1.linux/perl/html.pl	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # version 1, Thu Mar 23 21:53:31 1995, last mod by wietse
 #
diff --new-file --recursive --unified satan-1.1.1.clean/reconfig satan-1.1.1.linux/reconfig
--- satan-1.1.1.clean/reconfig	Sun Apr  9 06:14:08 1995
+++ satan-1.1.1.linux/reconfig	Tue Apr 11 22:40:48 1995
@@ -1,8 +1,4 @@
-#!/bin/sh -- need to mention perl here to avoid recursion
-'true' || eval 'exec perl -S $0 $argv:q';
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
-& eval 'exec /usr/local/bin/perl -S $0 $argv:q'
-	if 0;
+#!/usr/bin/perl
 
 #
 # version 1, Sun Mar 26 18:31:28 1995, last mod by zen
diff --new-file --recursive --unified satan-1.1.1.clean/satan satan-1.1.1.linux/satan
--- satan-1.1.1.clean/satan	Tue Apr 11 03:50:53 1995
+++ satan-1.1.1.linux/satan	Tue Apr 11 22:32:04 1995
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl5
+#!/usr/bin/perl
 #
 # version 3, Tue Apr  4  8:58:13 1995, last mod by wietse
 #
diff --new-file --recursive --unified satan-1.1.1.clean/src/fping/fping.c satan-1.1.1.linux/src/fping/fping.c
--- satan-1.1.1.clean/src/fping/fping.c	Mon Apr  3 08:30:34 1995
+++ satan-1.1.1.linux/src/fping/fping.c	Tue Apr 11 22:37:20 1995
@@ -181,6 +181,8 @@
 #include <sys/select.h>
 #endif
 
+#include "../../include/lcompat.h"
+
 /* externals */
 
 extern char *optarg;
diff --new-file --recursive --unified satan-1.1.1.clean/src/port_scan/tcp_scan.c satan-1.1.1.linux/src/port_scan/tcp_scan.c
--- satan-1.1.1.clean/src/port_scan/tcp_scan.c	Tue Apr  4 06:33:08 1995
+++ satan-1.1.1.linux/src/port_scan/tcp_scan.c	Tue Apr 11 22:37:20 1995
@@ -24,6 +24,8 @@
 #include <string.h>
 #include <errno.h>
 
+#include "../../include/lcompat.h"
+
 extern int errno;
 extern char *optarg;
 extern int optind;
diff --new-file --recursive --unified satan-1.1.1.clean/src/port_scan/udp_scan.c satan-1.1.1.linux/src/port_scan/udp_scan.c
--- satan-1.1.1.clean/src/port_scan/udp_scan.c	Tue Apr  4 06:33:13 1995
+++ satan-1.1.1.linux/src/port_scan/udp_scan.c	Tue Apr 11 22:37:20 1995
@@ -20,6 +20,8 @@
 #include <stdio.h>
 #include <string.h>
 
+#include "../../include/lcompat.h"
+
 extern int errno;
 
 #ifndef __STDC__
@@ -353,7 +355,7 @@
     int     hdr_len;
     struct ip *ip;
     struct icmp *icmp;
-    struct udphdr *udp;
+    struct bsd_udphdr *udp;
     struct port_info *sp;
 
     if ((data_len = recv(sock, (char *) &buf, sizeof(buf), 0)) < 0) {
@@ -401,9 +403,9 @@
      * Extract the offending UDP header.
      */
     hdr_len = ip->ip_hl << 2;
-    udp = (struct udphdr *) ((char *) ip + hdr_len);
+    udp = (struct bsd_udphdr *) ((char *) ip + hdr_len);
     data_len -= hdr_len;
-    if (data_len < sizeof(struct udphdr)) {
+    if (data_len < sizeof(struct bsd_udphdr)) {
 	remark("short UDP header in ICMP");
 	return;
     }
